package com.timss.opmm.dao;

import java.util.HashMap;
import java.util.List;

import com.timss.opmm.bean.Duty;
import com.yudean.itc.dto.Page;

/**
 * 
 * @title: DutyMapper 
 * @description: mybatis 接口
 * @company: gdyd
 * @className: DutyMapper.java
 * @author: fengzt
 * @createDate: 2014年6月4日
 * @updateUser: fengzt
 * @version: 1.0
 */
public interface DutyMapper {
	
    /**
     * 
     * @description:查询结果中返回主键id的方法
     * @author: fengzt
     * @createDate: 2014年6月4日
     * @param duty  其中id为自增，不需要设置
     */
    public void insertDuty(Duty duty );
    
    /**
     * 
     * @description:更新值别表
     * @author: fengzt
     * @createDate: 2014年6月4日
     * @param Duty:
     * @return int 更新个数
     */
    public int updateDuty(Duty Duty);
    
    /**
     * 
     * @description:通过Id拿到值别表
     * @author: fengzt
     * @createDate: 2014年6月4日
     * @param id
     * @return:Duty
     */
    public Duty getDutyById(int id);
    
    /**
     * 
     * @description:通过ID 删除 duty
     * @author: fengzt
     * @createDate: 2014年6月4日
     * @param id:
     * @return 
     */
    public int deleteDutyById(int id);

    /**
     * 
     * @description:更新duty
     * @author: fengzt
     * @createDate: 2014年6月4日
     * @param DutyMap:
     */
    public void updateDutyByMap(HashMap<?, ?> DutyMap);
    
    /**
     * 
     * @description:批量插入
     * @author: fengzt
     * @createDate: 2014年6月4日
     * @param list:
     */
    public void batchInsertDuty(List<Duty> list);   
    
    /**
     * 
     * @description:duty 分页
     * @author: fengzt
     * @createDate: 2014年6月4日
     * @param page
     * @return:
     */
    public List<Duty> getDutyByPage(Page<HashMap<?, ?>> page);
    
    /**
     * 
     * @description:高级搜索 查询值别列表
     * @author: fengzt
     * @createDate: 2014年6月4日
     * @param page
     * @param duty
     * @return: List<Duty>
     */
    public List<Duty> getDutyBySearch(Page<HashMap<?, ?>> page );
    
    /**
     * 
     * @description:duty 分页 (返回hashmap)
     * @author: fengzt
     * @createDate: 2014年6月4日
     * @param page
     * @return: List<HashMap<?, ?>>
     */
    public List<HashMap<?, ?>> getDutyMapByPage(Page<HashMap<?, ?>> page);
    
    /**
     * 
     * @description:拿出所有值别duty
     * @author: fengzt
     * @createDate: 2014年6月4日
     * @return:
     */
    public List<Duty> getAllDuty();
    
    /**
     * 
     * @description:通过hashmap 拿到List
     * @author: fengzt
     * @createDate: 2014年6月4日
     * @param map
     * @return:List<Duty>
     */
    public List<Duty> getDutyByMap(HashMap<?, ?> map);
}
